<?php

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of DaoBairro
 *
 * @author Pesquisa
 */
require_once 'Banco.php';
require_once 'Model/Bairro.php';
class DaoBairro extends Banco{
    
    function getBairros(){
        $bairros = array();
        Banco::conecta();
        $banco = Banco::getBanco();
        $query = $banco->query("SELECT * FROM TB_BAIRRO");
        if(!empty($query)){
            while ($bai = $query->fetch_assoc() ) {
                $bairro = new Bairro();  
                $bairro->setCodigo($bai['BAI_CODIGO']);
                $bairro->setDescricao($bai['BAI_DESCRICAO']);
                $bairros[] = (object)$bairro;
            }
        }
        
        return $bairros;
    }
    
    function getBairro($codigo){
        $bairros = NULL;
        Banco::conecta();
        $banco = Banco::getBanco();
        if ($sql = $banco->prepare("SELECT BAI_CODIGO, BAI_DESCRICAO FROM TB_BAIRRO WHERE BAI_CODIGO = ?")) {
            $sql->bind_param('i',$codigo);
            $sql->execute();
            $sql->bind_result($id, $descricao);
            while ($sql->fetch()) {
                $bairros = new Bairro();
                $bairros->setCodigo($id);
                $bairros->setDescricao($descricao);
            }
        }
        return $bairros;
    }
    function getBairroByDescricao($descricao){
        $bairros = NULL;
        Banco::conecta();
        $banco = Banco::getBanco();
        if ($sql = $banco->prepare("SELECT BAI_CODIGO, BAI_DESCRICAO FROM TB_BAIRRO WHERE BAI_DESCRICAO = ?")) {
            $sql->bind_param('s',$descricao);
            $sql->execute();
            $sql->bind_result($id, $descricao);
            while ($sql->fetch()) {
                $bairros = new Bairro();
                $bairros->setCodigo($id);
                $bairros->setDescricao($descricao);
            }
        }
        return $bairros;
    }
    
    function addBairro(Bairro $bairro){
        Banco::conecta();
        $banco = Banco::getBanco();
        $bai = $bairro->getDescricao();
        $lastid=-1;
        $b = $this->getBairroByDescricao($bairro->getDescricao());
        if(!$b){
            if($sql = $banco->prepare("INSERT INTO TB_BAIRRO VALUES (DEFAULT, ?);")){
                $sql->bind_param('s',$bai);
                $sql->execute();
                $lastid=$sql->insert_id;
                $sql->close();
            }else{
                return null;
            }
        }else{
            return (object)$b;
        }
        $bairro->setCodigo($lastid);
        return (object)$bairro;
    }
}

?>
